package cn.jiahua.test7.demo1;

import java.util.concurrent.TimeUnit;

public class Test {

    /**
     * 标准情况下 是先sendEmail()　还是先callPhone()?
     *  * 答案：sendEmail
     *  * 解释：被 synchronized 修饰的方式，锁的对象是方法的调用者
     *  * 所以说这里两个方法调用的对象是同一个，先调用的先执行！s
     * @param args
     */
    public static void main(String[] args) {

        Phone phone =new Phone();

       new Thread(()->{
           phone.sendEmail();
        }).start();


       new Thread(()->{
           phone.call();

        }).start();









    }
}

class Phone{

    public synchronized void call(){
        try {
            TimeUnit.SECONDS.sleep(3);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("打电话");
    }


    public synchronized  void sendEmail(){
        System.out.println("发送邮件");
    }


}